package com.starlinkdt.common.mapper.system;

import com.starlinkdt.common.domain.system.entity.OaiAcc;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * OAI账户表 数据层
 * 
 * @author system
 */
public interface OaiAccMapper
{
    /**
     * 查询OAI账户列表
     *
     * @param oaiAccSearch OAI账户
     * @return OAI账户集合
     */
    public List<OaiAcc> selectOaiAccList(OaiAcc oaiAccSearch);

    /**
     * 查询OAI账户
     *
     * @param accAppId OAI账户AppID
     * @return OAI账户
     */
    public OaiAcc selectOaiAccByAccAppId(String accAppId);

    /**
     * 查询OAI账户
     *
     * @param accBizNo OAI账户唯一编码
     * @return OAI账户
     */
    public OaiAcc selectOaiAccByAccBizNo(String accBizNo);

    /**
     * 查询OAI账户
     *
     * @param accBizNos OAI账户唯一编码
     * @return OAI账户
     */
    public List<OaiAcc> selectOaiAccByAccBizNos(@Param("accBizNos") String[] accBizNos);

    /**
     * 新增OAI账户
     *
     * @param oaiAcc OAI账户
     */
    public int insertOaiAcc(OaiAcc oaiAcc);

    /**
     * 修改OAI账户
     *
     * @param oaiAcc OAI账户
     */
    public int updateOaiAccByAccBizNo(OaiAcc oaiAcc);

    /**
     * 修改OAI账户登录信息
     *
     * @param accAppId OAI账户AppID
     * @param loginIp 最后登录IP
     */
    public int updateOaiAccLoginByAccAppId(@Param("accAppId") String accAppId, @Param("loginIp") String loginIp);

    /**
     * 改变OAI账户状态
     *
     * @param accBizNos OAI账户唯一编码
     * @param status OAI账户状态
     * @param updateBy 操作用户
     */
    public int updateOaiAccStatusByAccBizNos(@Param("accBizNos") String[] accBizNos, @Param("status") String status, @Param("updateBy") String updateBy);

    /**
     * 删除OAI账户
     *
     * @param accBizNo OAI账户唯一编码
     * @param updateBy 操作用户
     */
    public int deleteOaiAccByAccBizNo(@Param("accBizNo") String accBizNo, @Param("updateBy") String updateBy);

    /**
     * 批量删除OAI账户
     *
     * @param accBizNos OAI账户唯一编码
     * @param updateBy 操作用户
     */
    public int deleteOaiAccByAccBizNos(@Param("accBizNos") String[] accBizNos, @Param("updateBy") String updateBy);

}
